﻿using System;
using System.Collections.Generic;
using Business_Entity;
using System.Data.SqlClient;
using System.Data;
//using System.Windows.Forms;

namespace DAOFactory
{
	/// <summary>
	/// Description of DAOTienda.
	/// </summary>
	public class DAOTienda
	{


       //FIORELLA
       public List<BETienda> getAllTiendaFiorella(){
       		String cmdSQL = "SELECT * FROM TIENDA;";
       		SqlCommand cmd = new SqlCommand(cmdSQL, ConnectionManager.getConnection());
       		SqlDataReader res = null;
       		List<BETienda> lista = new List<BETienda>();
       		BETienda t;
       		try{
       			res = cmd.ExecuteReader();
       			while(res.Read()){
       				t = new BETienda();
       				String nom = res[3].ToString();
       				int cod = Int32.Parse(res[0].ToString());
       				t.Nombre = nom;
       				t.Id = cod;
       				lista.Add(t);
       			}
       			t = new BETienda();
       			res.Close();
       		}
       		catch{
       			res.Close();
       		}
       		return lista;
       }
        
       public BETienda buscarTiendaFiorella(int cod){
       		String cmdSQL = "SELECT * FROM TIENDA WHERE IDTIENDA=" + cod + ";";
       		SqlCommand cmd = new SqlCommand(cmdSQL, ConnectionManager.getConnection());
       		SqlDataReader res = null;
       		List<BETienda> lista = new List<BETienda>();
       		BETienda t;
       		try{
       			res = cmd.ExecuteReader();
       			while(res.Read()){
       				t = new BETienda();
       				String nom = res[3].ToString();
       				int codigo = Int32.Parse(res[0].ToString());
       				t.Nombre = nom;
       				t.Id = codigo;
       				lista.Add(t);
       			}
       			res.Close();
       		}
       		catch{
       			res.Close();
       		}
       		return lista[0];
       }
       
       
        /*Buscar*/
        public List<BETienda> buscar(BETienda tiendaBE)
        {
            //List<BEEstadoTienda>  estadoTiendaLST = this.cargarEstadoTiendaLST();
            List<BETienda> tiendaLST = new List<BETienda>();
            //int i,idActivo=0 , idInactivo=0 ;
            //string consulta, parte1 = "", parte2 = "", parte3="";                        
            
            /*
            for (i = 0; i < estadoTiendaLST.Count; ++i)
            {
                if (estadoTiendaLST[i].Descripcion == "ACTIVO") idActivo = estadoTiendaLST[i].IdEstado;
                if (estadoTiendaLST[i].Descripcion == "INACTIVO") idInactivo = estadoTiendaLST[i].IdEstado;
            }
           
            if (tiendaBE.Id != -1)
            {
                parte1 = " and T.idTienda=" + tiendaBE.Id;
            }
            if (tiendaBE.IdAdministrador != "" && tiendaBE.IdAdministrador !=null)
            {
                parte2 = " and T.idAdministrador=" + tiendaBE.IdAdministrador; 
            }
            if (tiendaBE.EsPrincipal == true) parte3 = " and esPrincipal=1";
            */
            /*Esta consulta debido a la parte: T.idAdministrador=E.idEmpleado , no permite obtener tienda que  tengan idAdministrador como NULL.*/
            
            string idTienda;
            if(tiendaBE.Id == -1)  
				idTienda = "";
			else 
				idTienda = tiendaBE.Id.ToString();
            
            string consulta = "SELECT T.IDTIENDA,T.NOMBRE,T.DIRECCION " +
							  "FROM TIENDA AS T " +
							  "WHERE T.IDTIENDA LIKE '%' + '"+idTienda+"' + '%' AND "+
                              "T.NOMBRE LIKE '%' + '"+ tiendaBE.Nombre +"' + '%'";            		   
            
            
/*            	"select  distinct T.nombre, T.idAdministrador, T.idTienda, E.nombre + ' ' + E.apPaterno as nombAdmin,T.direccion " +
            	"from TIENDA as T, EMPLEADO as E where " +
                "UPPER(T.nombre) like UPPER('%" + tiendaBE.Nombre + "%') " +
                " and (T.idEstado=" + idActivo + " or T.idEstado=" + idInactivo + ") and" +
			" ((T.idAdministrador=E.idEmpleado" + parte2 + ") or (T.idAdministrador is NULL))"+ parte1 + parte3;
			*/
            /*
			@"select t.nombre, ISNULL((case t.idAdministrador WHEN NULL THEN '' ELSE (select e.nombre from EMPLEADO e where
            e.idEmpleado=t.idAdministrador) END),'') AS nombAdmin,"+
            "t.idtienda, t.direccion, ISNULL((case t.idAdministrador WHEN NULL THEN '' ELSE (select e.idEmpleado from EMPLEADO e where"+
            " e.idEmpleado=t.idAdministrador) END),'')  from tienda t where UPPER(t.nombre) like UPPER('% "+ tiendaBE.Nombre +"%') and "+
			"(T.idEstado=1)" + parte1  + parte2+  parte3;
            +idActivo+" or T.idEstado="+idInactivo+"*/
            
            SqlDataReader tiendaRDR;  
            SqlCommand comando;
            //System.Windows.Forms.MessageBox.Show(consulta);
            
            //messa
            try
            {
                comando = new SqlCommand(consulta, ConnectionManager.getConnection());
                tiendaRDR=comando.ExecuteReader();
                if (tiendaRDR.HasRows)
                {
                	//System.Windows.Forms.MessageBox.Show("entra"); 	
                    while (tiendaRDR.Read())
                    {
                        BETienda tiendaBE_1 = new BETienda();
                        //System.Windows.Forms.MessageBox.Show(tiendaRDR["direccion"].ToString());
                        tiendaBE_1.Id = Convert.ToInt32(tiendaRDR["idTienda"]);
                        tiendaBE_1.Nombre = tiendaRDR["nombre"].ToString();
                        //tiendaBE_1.IdAdministrador = Convert.ToString(tiendaRDR["idAdministrador"]);
                        //tiendaBE_1.NombAdmin = Convert.ToString(tiendaRDR["nombAdmin"]);
                        tiendaBE_1.Direccion = tiendaRDR["direccion"].ToString();
                        tiendaLST.Add(tiendaBE_1);
                    }
                }
                tiendaRDR.Close();
            }
            catch (Exception e)
            {
            	System.Windows.Forms.MessageBox.Show(e.Message); //Se deberia mostrar en la GUI
            }
            
            return tiendaLST;

        }





        public List<BEEstadoTienda> cargarEstadoTiendaLST()
        {
            List<BEEstadoTienda> estadoTiendaLST = new List<BEEstadoTienda>();
            SqlDataReader reader;
            /*Consigo todos los posibles estados una tienda*/
            string consulta1 = "select idEstado,descripcion from EstadoTienda where descripcion <>'ELIMINADO' ";
            try
            {
                SqlCommand comando = new SqlCommand(consulta1, ConnectionManager.getConnection());
                reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        BEEstadoTienda estadoTiendaBE = new BEEstadoTienda();
                        estadoTiendaBE.IdEstado = Convert.ToInt32(reader["idEstado"]);
                        estadoTiendaBE.Descripcion = reader["descripcion"].ToString();
                        estadoTiendaLST.Add(estadoTiendaBE);
                    }
                }
                reader.Close();

            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message);
                
            }
            return estadoTiendaLST;
        }

        
        
        
        

        
        
        public List<BETipoServicio> cargarTipoServicioLST()
        {
            List<BETipoServicio>  tipoServicioLST = new List<BETipoServicio>();
            SqlDataReader reader;
            string consulta2 = "select idTipoServicio,descripcion from tipoServicio";
            try
            {
                SqlCommand comando = new SqlCommand(consulta2, ConnectionManager.getConnection());
                reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        BETipoServicio tipoServicioBE = new BETipoServicio();
                        tipoServicioBE.Id = Convert.ToInt32(reader["idTipoServicio"]);
                        tipoServicioBE.Nombre = reader["descripcion"].ToString();
                        tipoServicioLST.Add(tipoServicioBE);
                    }
                }
                reader.Close();
                
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message);
            }
            return tipoServicioLST;
        }



        
        
        
        public List<BEServicio> cargarServicioLST()
        {
            List<BEServicio> servicioLST = new List<BEServicio>();
            BEServicio servicioBE;
            SqlDataReader reader;
            string consulta3 = "select idTipoServicio, idServicio, estado, descripcion from servicio";
            try
            {
                SqlCommand comando = new SqlCommand(consulta3, ConnectionManager.getConnection());
                reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        servicioBE = new BEServicio();
                        servicioBE.Codigo = Convert.ToInt32(reader["idServicio"]);
                        servicioBE.IdTipoServicio = reader["idTipoServicio"].ToString();
                        if (Convert.ToChar(reader["estado"]) == 'A') servicioBE.Estado = true;
                        else servicioBE.Estado = false;
                        servicioBE.Descripcion = reader["descripcion"].ToString();
                        servicioLST.Add(servicioBE);

                    }
                }
                reader.Close();
                
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message);
            }
            return servicioLST;
        }






        public List<BE_servicioXtienda> cargarServicio_X_TiendaLST(int id)
        {
            SqlDataReader reader;
            BE_servicioXtienda servicioXtiendaBE;
            List<BE_servicioXtienda> servicioXtiendaLST = new List<BE_servicioXtienda>();
            //Consigo todos los servicios ofrecidos por la tienda/
            string consulta4 = "select idServicio, idTienda, estado from servicioXtienda " +
                "where idTienda=" + id;
            try
            {
                SqlCommand comando = new SqlCommand(consulta4, ConnectionManager.getConnection());
                reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        servicioXtiendaBE = new BE_servicioXtienda();
                        servicioXtiendaBE.IdServicio = reader["idServicio"].ToString();
                        servicioXtiendaBE.IdTienda = reader["idTienda"].ToString();
                        servicioXtiendaBE.Estado = Convert.ToInt32(reader["estado"]);
                        servicioXtiendaLST.Add(servicioXtiendaBE);
                    }
                }

                reader.Close();
                
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message);
            }
            return servicioXtiendaLST;
        }




        
        
        
        public BETienda cargarTienda(int id)
        {
            SqlDataReader reader;
            BETienda tiendaBE = new BETienda();
            string consulta5 = "select idTienda, nombre, idAdministrador,direccion, telefono, fechaRegistro, idEstado from tienda " +
                "where idTienda=" + id;
            try
            {
                SqlCommand comando = new SqlCommand(consulta5, ConnectionManager.getConnection());
                reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();
                    tiendaBE.Id = Convert.ToInt32(reader["idTienda"]);
                    tiendaBE.Nombre = reader["nombre"].ToString();
                    /*A pesar que en la BD, el campo idEmpleado de la tabla Tienda es int, cuando el c# recibe este dato(reader["idEmpleado"]) 
                     como un objeto de tipo object, lo puede convertir directamente a tipo string, sin necesidad
                     de pasar por una conversion previa a int.*/
                    tiendaBE.IdAdministrador = Convert.ToString((reader["idAdministrador"]));
                    tiendaBE.Direccion = reader["direccion"].ToString();
                    tiendaBE.Telefono = reader["telefono"].ToString();
                    tiendaBE.FechaRegistro = reader["fechaRegistro"].ToString();
                    tiendaBE.IdEstado = reader["idEstado"].ToString();
                }
                reader.Close();
                
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.Message + " " + e.Source + " " + e.HelpLink + " ");
            }
            return tiendaBE;
        }


        public void insertar(List<BETienda> tiendaLST,ref int error,ref string mensajeError)
        {
            DataTable tiendaDT = this.cargarTiendaDT(tiendaLST,'I');
            try
            {
                SqlCommand comando = new SqlCommand("CONF_CREAR_TIENDA", ConnectionManager.getConnection());
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add("@tiendaDT", SqlDbType.Structured);
                comando.Parameters["@tiendaDT"].Value = tiendaDT;
                comando.Parameters.Add("@error", SqlDbType.Int);
                comando.Parameters["@error"].Direction = ParameterDirection.Output;
                comando.Parameters.Add("@mensajeError", SqlDbType.NVarChar, 200);
                comando.Parameters["@mensajeError"].Direction = ParameterDirection.Output;
                comando.ExecuteNonQuery();
                error = (int)comando.Parameters["@error"].Value;
                mensajeError = comando.Parameters["@mensajeError"].Value.ToString();
            }
            catch (Exception e)
            {
                error = 1;
                mensajeError = e.Message;
            }
        }








        public void actualizar(List<BETienda> tiendaLST, List<BE_servicioXtienda> servicioXtiendaLST,ref int error,ref string mensajeError)
        {
            /*
            DataTable servicioXtiendaDT= this.obtServicio_X_TiendaDT(servicioXtiendaLST);
            DataTable tiendaDT = this.obtTiendaDT(tiendaLST,'M');

            try
            {
                SqlCommand comando = new SqlCommand("tda.ActualizarServicioTienda", ConnectionManager.getConnection());
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add("@tiendaDT", SqlDbType.Structured);
                comando.Parameters["@tiendaDT"].Value = tiendaDT;
                comando.Parameters.Add("@servicioTiendaDT", SqlDbType.Structured);//Para una tabla esto es opcional. Funciona sin esta linea.
                comando.Parameters["@servicioTiendaDT"].Value = servicioXtiendaDT;
                comando.Parameters.Add("@error", SqlDbType.Int);
                comando.Parameters["@error"].Direction = ParameterDirection.Output;
                comando.Parameters.Add("@mensajeError", SqlDbType.NVarChar, 200);
                comando.Parameters["@mensajeError"].Direction = ParameterDirection.Output;
                comando.ExecuteNonQuery();
                error = (int)comando.Parameters["@error"].Value;
                mensajeError = comando.Parameters["@mensajeError"].Value.ToString();  
            }
            catch (Exception e)
            {
                error = 1;
                mensajeError = e.Message;
            }
            */
            DataTable tiendaDT = this.cargarTiendaDT(tiendaLST, 'M');
            try
            {
                SqlCommand comando = new SqlCommand("CONF_ACTUALIZAR_TIENDA", ConnectionManager.getConnection());
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add("@tiendaDT", SqlDbType.Structured);
                comando.Parameters["@tiendaDT"].Value = tiendaDT;
                comando.Parameters.Add("@error", SqlDbType.Int);
                comando.Parameters["@error"].Direction = ParameterDirection.Output;
                comando.Parameters.Add("@mensajeError", SqlDbType.NVarChar, 200);
                comando.Parameters["@mensajeError"].Direction = ParameterDirection.Output;
                comando.ExecuteNonQuery();
                error = (int)comando.Parameters["@error"].Value;
                mensajeError = comando.Parameters["@mensajeError"].Value.ToString();
            }
            catch (Exception e)
            {
                error = 1;
                mensajeError = e.Message;
            }
            for (int i=0;i<servicioXtiendaLST.Count;++i)
            {
                try
                {
                    SqlCommand comando = new SqlCommand("CONF_ACTUALIZAR_SERVICIO_TIENDA", ConnectionManager.getConnection());
                    comando.CommandType = CommandType.StoredProcedure;

                    comando.Parameters.Add("@idTienda", SqlDbType.Int);
                    comando.Parameters["@idTienda"].Value = servicioXtiendaLST[i].IdTienda;
                    comando.Parameters.Add("@idServicio", SqlDbType.Int);
                    comando.Parameters["@idServicio"].Value = servicioXtiendaLST[i].IdServicio;
                    comando.Parameters.Add("@estado", SqlDbType.Int);
                    comando.Parameters["@estado"].Value = servicioXtiendaLST[i].Estado;
                    comando.Parameters.Add("@error", SqlDbType.Int);
                    comando.Parameters["@error"].Direction = ParameterDirection.Output;
                    comando.Parameters.Add("@mensajeError", SqlDbType.NVarChar, 200);
                    comando.Parameters["@mensajeError"].Direction = ParameterDirection.Output;
                    comando.ExecuteNonQuery();
                    error = (int)comando.Parameters["@error"].Value;
                    mensajeError = comando.Parameters["@mensajeError"].Value.ToString();  
                }
                catch (Exception e)
                {
                    error = 1;
                    mensajeError = e.Message;
                }
            }
            
        }


        
        
        
        
        public DataTable cargarServicio_X_TiendaDT(List<BE_servicioXtienda> servicioXtiendaLST)
        {
            DataTable servicioXtiendaDT = new DataTable("CONF_DT_SERVICIO_X_TIENDA");
            servicioXtiendaDT.Columns.Add("idTienda", System.Type.GetType("System.Int32"));
            servicioXtiendaDT.Columns.Add("idServicio", System.Type.GetType("System.Int32"));
            servicioXtiendaDT.Columns.Add("estado", System.Type.GetType("System.Int32"));

            DataRow filaTabla;
            for (int i = 0; i < servicioXtiendaLST.Count; ++i)
            {
                filaTabla = servicioXtiendaDT.NewRow();
                filaTabla["idTienda"] = Int32.Parse( servicioXtiendaLST[i].IdTienda);
                filaTabla["idServicio"] = Int32.Parse(servicioXtiendaLST[i].IdServicio);
                filaTabla["estado"] = servicioXtiendaLST[i].Estado;
                servicioXtiendaDT.Rows.Add(filaTabla);
            }
            return servicioXtiendaDT;
        }






        public DataTable cargarTiendaDT(List<BETienda> tiendaLST, char modo)
        {
            DataTable tiendaDT = new DataTable("CONF_DT_TIENDA");
            tiendaDT.Columns.Add("idTienda", System.Type.GetType("System.Int32"));
            tiendaDT.Columns.Add("direccion", System.Type.GetType("System.String"));
            tiendaDT.Columns.Add("idEstado", System.Type.GetType("System.Int32"));
            tiendaDT.Columns.Add("nombre", System.Type.GetType("System.String"));
            tiendaDT.Columns.Add("telefono", System.Type.GetType("System.String"));//Conviene cambiar a nvarchar en la BD?
            tiendaDT.Columns.Add("idAdministrador", System.Type.GetType("System.Int32")); 
            tiendaDT.Columns.Add("esPrincipal", System.Type.GetType("System.Byte"));

            for (int i = 0; i < tiendaLST.Count; ++i)
            {
                //Creo una fila con la misma estructura de datos
                DataRow filaTabla = tiendaDT.NewRow();
                //Leno las filas
                if (tiendaLST[i].Id != 0) //Quiere decir que no el id no tiene valor asignado.
                {
                    filaTabla["idTienda"] =Convert.ToInt32(tiendaLST[i].Id);
                }
                /*Si el modo no es eliminar*/
                if (modo != 'E')
                {
                    filaTabla["direccion"] = tiendaLST[i].Direccion;

                    if (tiendaLST[i].IdEstado != "") filaTabla["idEstado"] = Convert.ToInt32(tiendaLST[i].IdEstado);
                    else filaTabla["idEstado"] = DBNull.Value;

                    filaTabla["nombre"] = tiendaLST[i].Nombre;
                    filaTabla["telefono"] = tiendaLST[i].Telefono;

                    if (tiendaLST[i].IdAdministrador != "") filaTabla["idAdministrador"] = Convert.ToInt32((tiendaLST[i].IdAdministrador));
                    else filaTabla["idAdministrador"] = DBNull.Value;

                    filaTabla["esPrincipal"] = tiendaLST[i].EsPrincipalBD;
                }
                tiendaDT.Rows.Add(filaTabla);
            }

            return tiendaDT;
        }






       public void eliminar(List<BETienda> tiendaLST, ref int error,ref string mensajeError)
        {
           DataTable tiendaDT = this.cargarTiendaDT(tiendaLST,'E');
            try
            {
                SqlCommand comando = new SqlCommand("CONF_ELIMINAR_TIENDA", ConnectionManager.getConnection());
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add("@tiendaDT", SqlDbType.Structured);
                comando.Parameters["@tiendaDT"].Value = tiendaDT;
                comando.Parameters.Add("@error", SqlDbType.Int);
                comando.Parameters["@error"].Direction = ParameterDirection.Output;
                comando.Parameters.Add("@mensajeError", SqlDbType.NVarChar, 200);
                comando.Parameters["@mensajeError"].Direction = ParameterDirection.Output;
                comando.ExecuteNonQuery();
                error = (int)comando.Parameters["@error"].Value;
                mensajeError = comando.Parameters["@mensajeError"].Value.ToString();

            }
            catch (Exception e)
            {
                error = 1;
                mensajeError = e.Message;
            }
        }








       public List<BEEmpleado> buscarEmpleado(BEEmpleado empleadoBE,ref int error,ref string mensajeError)
       {
           List<BEEmpleado> empleadoLST = new List<BEEmpleado>();
           List<BECargo> cargoLST = new List<BECargo>();
           BECargo cargoBE ;
           SqlDataReader empleadoRDR,estadoEmpleadoRDR,cargoRDR;
           BEEmpleado empleadoBE_Out;
           string idEstEmpAct = "",  parte1 = "", consulta1, consulta2, consulta3;
           try
           {
               consulta1="select idEstado from ESTADOEMPLEADO where descripcion='ACTIVO'";
               SqlCommand comando1 = new SqlCommand(consulta1, ConnectionManager.getConnection());
               estadoEmpleadoRDR = comando1.ExecuteReader();
               //MessageBox.Show(estadoEmpleadoRDR.HasRows.ToString());
               if (estadoEmpleadoRDR.HasRows)
               {
                   estadoEmpleadoRDR.Read();
                   idEstEmpAct=estadoEmpleadoRDR["idEstado"].ToString();
                   estadoEmpleadoRDR.Close();
               }
           }
           catch(Exception e)
           {
               mensajeError = e.Message;
               error = 1;
               return empleadoLST;
           }
           try
           {
               consulta2="select idCargo,idArea from cargo where descripcion='ADMINISTRADOR'";
               SqlCommand comando2 = new SqlCommand(consulta2, ConnectionManager.getConnection());
               cargoRDR= comando2.ExecuteReader();
               if (cargoRDR.HasRows)
               {
                   while (cargoRDR.Read())
                   {
                       cargoBE = new BECargo();
                       cargoBE.IdCargo = Convert.ToInt32( cargoRDR["idCargo"]);
                       cargoBE.IdArea = Convert.ToInt32(cargoRDR["idArea"]);
                       cargoLST.Add(cargoBE);
                   }
                   cargoRDR.Close();
               }
           }
            catch(Exception e)
           {
               mensajeError = e.Message;
               error = 1;
               return empleadoLST;
           }
           try
           {
               if (empleadoBE.IdEmpleado != -1) parte1 = " and idEmpleado =" + empleadoBE.IdEmpleado;

               for (int i = 0; i < cargoLST.Count; ++i)
               {
                   consulta3 = "select idEmpleado, nombre,apPaterno,apMaterno,docIdentidad " +
                            "from EMPLEADO where nombre like '%" + empleadoBE.Nombre + "%' and apPaterno " +
                    "like '%" + empleadoBE.ApPaterno + "%' and apMaterno like '%" + empleadoBE.ApMaterno + "%' and docIdentidad like " +
                    "'%" + empleadoBE.DocIdentidad + "%' and idEstado=" + idEstEmpAct + " and idCargo=" + cargoLST[i].IdCargo + " and idArea= " + cargoLST[i].IdArea + parte1 + ";";

                   SqlCommand comando3 = new SqlCommand(consulta3, ConnectionManager.getConnection());
                   empleadoRDR = comando3.ExecuteReader();
                   //MessageBox.Show(empleadoRDR.HasRows.ToString());
                   if (empleadoRDR.HasRows)
                   {
                       while (empleadoRDR.Read())
                       {
                           empleadoBE_Out = new BEEmpleado();
                           empleadoBE_Out.IdEmpleado = Convert.ToInt32(empleadoRDR["idEmpleado"]);
                           empleadoBE_Out.Nombre = Convert.ToString(empleadoRDR["nombre"]);
                           empleadoBE_Out.ApPaterno = Convert.ToString(empleadoRDR["apPaterno"]);
                           empleadoBE_Out.ApMaterno = Convert.ToString(empleadoRDR["apMaterno"]);
                           empleadoBE_Out.DocIdentidad = Convert.ToString(empleadoRDR["docIdentidad"]);
                           empleadoLST.Add(empleadoBE_Out);
                       }
                   }
                   empleadoRDR.Close();
               }
           }
           catch (Exception e)
           {
               mensajeError = e.Message;
               error = 1;
               return empleadoLST;
           }
           
           return empleadoLST;
       }




    }
}
